#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
//int main()
//{
//	int year = 0;
//	int month = 0;
//	scanf("%d %d", &year, &month);
//	switch (month)
//	{
//	case 1:
//		printf("29\n");
//		break;
//	case 2:
//		if(year % 400 == 0 || year % 4 == 0 && year % 100 != 0)
//
//			printf("29\n");
//
//		else
//
//			printf("28\n");
//			break;
//		break;
//	case 3:
//		printf("29\n");
//		break;
//	case 4:
//		printf("29\n");
//		break;
//	case 5:
//		printf("29\n");
//		break;
//	case 6:
//		printf("29\n");
//		break;
//	case 7:
//		printf("29\n");
//		break;
//	case 8:
//		printf("29\n");
//		break;
//	case 9:
//		printf("29\n");
//		break;
//	case 10:
//		printf("29\n");
//		break;
//	case 11:
//		printf("29\n");
//		break;
//	case 12:
//		printf("29\n");
//		break;
//	}
//	return 0;
//}

int main()
{
	void Find(const int* arr, size_t num)
	{
		int temp = 0;
		for (int i = 0; i < num; i++)
		{
			temp ^= arr[i];
		} 

		int flag = 0;
		while (((temp >> flag) & 1) == 0)
		{
			flag++;
		} 

		int ret_1 = 0;
		int ret_2 = 0;
		for (int i = 0; i < num; i++)
		{
			if ((arr[i] >> flag) & 1)
			{
				ret_1 ^= arr[i];
			} 
			else
			{
				ret_2 ^= arr[i];
			} 
		}
		printf("%d %d\n", ret_1, ret_2);
	}

	return 0;
}